There are numerous types of visual designers on the market today that allow users to create sophisticated diagrams, business process integrations, user interfaces, and so on. These visual designers allow users to drag and drop components, such as clauses and/or shapes, onto a design surface, and to manually arrange the components as desired. Some visual designers allow a user to select a particular set of components and specify certain commands to apply to those components, such as to align them with the same left side, or to apply the same font size to them.
The user may frequently use the same component multiple times on the same drawing. In order to reduce clutter on the design surface and/or to eliminate redundant components, the user must manually analyze the components that are present and decide which ones are redundant and can be merged together. Once such a determination is made, the user then must manually move each element that feeds into and out of the given component. This manual process of merging redundant components is very time consuming for the user.